00001
00011 #include "header.h"
00012
00013 #ifndef INFO_MESSAGE_H
00014 #define INFO_MESSAGE_H
00015
00024 #define MAX_PARAMETERS_IN_INFO_MESSAGE 17
00025
00026 #define INFO_MESSAGE_CLUSTER 0x0007
00027
00028 #define INFO_MESSAGE_VERSION 0x02
00029 #define INFO_MESSAGE_FLAGS_NONE 0x00
00030 #define DEVICETYPE_SMITH_ELECTRONCS_ROUTER_DEMO 0x01
00031 #define DEVICESUBTYPE_SMITH_ELECTRONCS_ROUTER_DEMO 0x01
00032 #define CAUSE_SCHEDULED 0x01
00033 #define CAUSE_MOTION 0x02
00034 #define CAUSE_STARTUP 0x03
00035
00036
00037 struct infoMessage
00038 {
00039 struct header header;
00040 unsigned char deviceType;
00041 unsigned char deviceSubType;
00042 unsigned char cause;
00043 unsigned char numParameters;
00044 unsigned int parameters[MAX_PARAMETERS_IN_INFO_MESSAGE];
00045 };
00046 void printInfoMessage(struct infoMessage im);
00047 void serializeInfoMessage(struct infoMessage im, unsigned char* destinationPtr);
00048 struct infoMessage deserializeInfoMessage(unsigned char* source);
00049 unsigned int getSizeOfInfoMessage(struct infoMessage im);
00050
00051 #endif